QTime类

您所在的位置:网站首页 qt qdatetime比较大小 QTime类

QTime类

2023-08-11 07:17| 来源: 网络整理| 查看: 265

QTime类参考

QTime类提供了时钟时间功能。详情请见……

#include

所有成员函数的列表。

公有成员

QTime() QTime( int h, int m, int s = 0, int ms = 0 ) boolisNull() const boolisValid() const inthour() const intminute() const intsecond() const intmsec() const QStringtoString( Qt::DateFormat f = Qt::TextDate ) const QStringtoString( const QString & format ) const boolsetHMS( int h, int m, int s, int ms = 0 ) QTimeaddSecs( int nsecs ) const intsecsTo( const QTime & t ) const QTimeaddMSecs( int ms ) const intmsecsTo( const QTime & t ) const booloperator==( const QTime & t ) const booloperator!=( const QTime & t ) const booloperator=( const QTime & t ) const voidstart() intrestart() intelapsed() const

静态公有成员

QTimecurrentTime() QTimefromString( const QString & s, Qt::DateFormat f = Qt::TextDate ) boolisValid( int h, int m, int s, int ms = 0 )

相关函数

QDataStream &operator( QDataStream & s, QTime & t )

详细描述QTime类提供了时钟时间功能。

QTime对象包含时钟时间,比如从午夜开始的时、分、秒和毫秒数。它可以从系统时钟中读取当前的时间并且度量时间的跨度。它提供比较时间和操作时间的函数,比如加上一定的秒或毫秒。

QTime操作的是24小时时钟格式,它没有AM/PM概念。它操作的是本地时间,它不知道有关时区或白天时间的概念。

QTime对象通常可以由明白地给定的时、分、秒和毫秒数字来创建,或者使用静态函数currentTime()让QTime对象包含系统时钟时间。注意精确性取决于下面操作系统的精确性,不是所有的操作系统都有毫秒级精确度的。

hour()、minute()、second()和msec()函数提供了对时、分、秒和毫秒数字的访问。toString()提供了文本格式的相同信息。

QTime提供了一整套的操作符来比较两个QTime对象,在这里小于表示早一些,大于表示晚一些。

一个给定时间之后给定的秒或毫秒数的时间可以使用addSecs()或addMSecs()得到。相对地,两个时间的秒(或毫秒)数可以使用secsTo()或msecsTo()得到。

QTime可以使用start()、restart()和elapsed()函数度量流逝的时间。

也可以参考QDate、QDateTime和时间和日期。

成员函数文档QTime::QTime ()

构造一个时、分、秒和毫秒都是0的时间,比如,00:00:00.000(午夜)。这是一个有效的时间。

也可以参考isValid()。

QTime::QTime ( int h, int m, int s = 0, int ms = 0 ) 构造一个时、分、秒和毫秒分别为h、m、s和ms的时间。

h必须在0-23之间,m和s必须在0-59之间,ms必须在0-999之间。

也可以参考isValid()。

QTimeQTime::addMSecs ( int ms ) const 返回这个时间对象ms毫秒之后的一个时间对象(或者ms毫秒之前的,如果它是一个负数)。

注意如果这个时间过了午夜,它将被转换。请参考addSecs()中的实例。

也可以参考addSecs()和msecsTo()。

QTimeQTime::addSecs ( int nsecs ) const 返回这个时间对象nsecs秒之后的一个时间对象(或者nsecs秒之前的,如果它是一个负数)。

注意如果这个时间过了午夜,它将被转换。

实例:

QTime n( 14, 0, 0 ); // n == 14:00:00 QTime t; t = n.addSecs( 70 ); // t == 14:01:10 t = n.addSecs( -70 ); // t == 13:58:50 t = n.addSecs( 10*60*60 + 5 ); // t == 00:00:05 t = n.addSecs( -15*60*60 ); // t == 23:00:00

也可以参考addMSecs()、secsTo()和QDateTime::addSecs()。

QTimeQTime::currentTime ()[静态]返回当前时间,来自于系统时钟。

注意精确性取决于下面操作系统的精确性,不是所有的操作系统都有毫秒级精确度的。

实例:aclock/aclock.cpp、dclock/dclock.cpp、t12/cannon.cpp和tictac/tictac.cpp。

intQTime::elapsed () const 返回从最后一次调用start()或restart()到现在已经过去的毫秒数。

注意如果在最后一次调用start()或restart()后24小时,计数器转换为0。

注意精确性取决于下面操作系统的精确性,不是所有的操作系统都有毫秒级精确度的。

警告:如果最后一次调用start()或restart()之后,系统时钟设置发生了改变,结果将是不确定的。

也可以参考start()和restart()。

QTimeQTime::fromString ( const QString & s,Qt::DateFormat f = Qt::TextDate )[静态]通过给定的字符串s,使用格式f,返回这个QTime,或者如果这是不可能的话返回一个无效的时间。

注意Qt::LocalDate在这里不能使用。

intQTime::hour () const 返回时间的小时部分(0-23)。

实例:

QTime::isValid(21, 10, 30); // 返回真 QTime::isValid(22, 5, 62); // 返回假 intQTime::minute () const 返回时间的分钟部分(0-59)。

实例:aclock/aclock.cpp和tictac/tictac.cpp。

intQTime::msec () const 返回时间的毫秒部分(0-999)。 intQTime::msecsTo ( const QTime & t ) const 返回这个时间到t的毫秒数(如果t早于这个时间,返回的为负数)。

因为QTime只能度量一天之内的时间,而且一天内只有86400000毫秒,所以结果就应该在-86400000毫秒和86400000毫秒之间。

也可以参考secsTo()。

boolQTime::operator!= ( const QTime & t ) const

如果这个时间不等于t,返回真,否则返回假。

boolQTime::operator< ( const QTime & t ) const

如果这个时间早于t,返回真,否则返回假。

boolQTime::operator ( const QTime & t ) const

如果这个时间晚于t,返回真,否则返回假。

boolQTime::operator>= ( const QTime & t ) const

如果这个时间不早于t,返回真,否则返回假。

intQTime::restart () 设置这个时间为当前时间并且返回从最后一次调用start()或restart()到现在过去的毫秒数。

这个函数保证是原子的并且这样对于重复度量是非常方便的。调用start()开始第一次度量,然后调用restart()来做以后的每一次度量。

注意如果在最后一次调用start()或restart()后24小时,计数器转换为0。

警告:如果最后一次调用start()或restart()之后,系统时钟设置发生了改变,结果将是不确定的。

也可以参考start()、elapsed()和currentTime()。

intQTime::second () const 返回时间的秒部分(0-59)。

实例:tictac/tictac.cpp。

intQTime::secsTo ( const QTime & t ) const 返回这个时间到t的秒数(如果t早于这个时间,返回的为负数)。

因为QTime只能度量一天之内的时间,而且一天内只有86400秒,所以结果就应该在-86400秒和86400秒之间。

也可以参考addSecs() andQDateTime::secsTo().

实例:t12/cannon.cpp。

boolQTime::setHMS ( int h, int m, int s, int ms = 0 ) 设置时间的时、分、秒和毫秒分别为h、m、s和ms。

h必须在0-23之间,m和s必须在0-59之间,ms必须在0-999之间。如果设置的时间有效,返回真,否则返回假。

也可以参考isValid()。

voidQTime::start () 设置这个时间为当前时间。这是实际上使用来计时的:

QTime t; t.start(); // 开始计时 ... // 一些任务qDebug( "%d\n", t.elapsed() ); // 打印过去的毫秒数

也可以参考restart()、elapsed()和currentTime()。

QStringQTime::toString ( const QString & format ) const 返回一个字符串的时间。format参数决定了结果字符串的格式。

这些是可能用到的表达式:

h- 没有前置0的数字的小时(0-23或者如果显示AM/PM时,1-12)hh- 前置0的数字的小时(00-23或者如果显示AM/PM时,01-12)m- 没有前置0的数字的分钟(0-59)mm- 前置0的数字的分钟(00-59)s- 没有前置0的数字的秒(0-59)ss- 前置0的数字的秒(00-59)z- 没有前置0的数字的毫秒(0-999)zzz- 前置0的数字的毫秒(000-999)AP- 切换为AM/PM显示。AP将被“AM”或“PM”替换。ap- 切换为am/pm显示。ap将被“am”或“pm”替换。

所有其他输入字符都将被忽略。

格式字符串实例(假设这个QTime为14:13:09.042)

“hh:mm:ss.zzz”的结果将是“14:13:09.042” “h:m:s ap”的结果将是“2:13:9 pm”

也可以参考QDate::toString()和QTime::toString()。

QStringQTime::toString (Qt::DateFormat f = Qt::TextDate ) const 这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

返回一个字符串的时间。f参数决定了结果字符串的格式。

如果f是Qt::TextDate,字符串格式是HH:MM:SS,比日午夜前一秒是“23:59:59”。

如果f是Qt::ISODate,字符串格式遵循ISO 8601表示时间的说明,也就是HH:MM:SS。

如果f是Qt::LocalDate,字符串格式依赖于系统的本地设置。

相关函数QDataStream &operator> (QDataStream & s,QTime & t ) 从流s中读取一个时间到t中。

也可以参考QDataStream操作符的格式。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3